Date: Tue, 14 Jan 1997 20:27:36 GMT
Server: NCSA/1.5
Content-type: text/html

<TITLE>Concepts in Programming Languages. Syllabus
</TITLE>
		<BODY>
		<H2>
<b>CLA CS320 <BR> 
Concepts in Programming Languages, Fall 1996</b> </H2>
<P>
<P>

The goal of this course is to provide students with a good grasp of
the structure of computer languages, which in turn provides the tools
for the students to master new languages easily.  This course covers
the principles underlying all programming languages and their
implementations.  We will apply the concepts and principles to object
oriented languages, functional languages, logic programming languages,
and network programming languages.  Specifically, we will use Java and
its language processors to illustrate these principles when they are
applied in practice.

The core topics include: language specification, objects, expressions,
control and types.  We discuss the concrete aspects of each topic
followed by implementation strategies and the related semantic issues.
We will use examples in Java, Javascript, C, C++, FORTRAN, Pascal,
Ada, COBOL, and other programming languages.

<P>
<DL>
<DT>Course Home Page: 
<DD>http://www.cs.bu.edu/faculty/mcchen/cs320-96/index.html
<DT>Textbooks
<DD>
<ul>
<li><em>The Java Programming Language</em>  by Ken Arnold and James
Gosling, in the Java    Series. Addison Wesley.
<li><em>The Anatomy of Programming Languages</em> by Alice E. Fischer and
Frances S. Grodzinsky, Prentice Hall. 
<li><em>References: The Java Application Programming Interface, Volume 1 & 2.
</em> by James Gosling, Frank Yellin and the Java Team. Addison Wesley.
</ul>
<DT>Prerequisites 
<DD>
CLA CS112 or CS113. CLA MA 293 is recommended. 
<DT>Classroom 
<DD> MCS B33. 
<DT>Instructor 
<DD> Marina Chen, MCS 140 E. 
<DT>Class hours 
<DD> 9:30am - 11am Tuesday and Thursday. 
<DT>Office hours 
<DD> 11am - 12pm Tuesday and Thursday. 
<DT>Class newsgroup and email 
<DD> Please read cs320 newsgroup and your email daily. 

<P>
 </DL>
<P>
<H2><A NAME=SECTION0000100000000000000> Schedules</A></H2>
<P>
<DL ><DT>9/3
<DD> Introduction; Nature of Language; Representation and Abstraction
(Topics 1, and 2)
<P>
<DT>9/5
<DD> Elements of Language.  (Topics 3, 1a, and 10a)
<P>
<DT>9/10
<DD> Elements of Language.  (Topics 3, 1a, and 10a)
<P>
<DT>9/12
<DD> A Quick Tour of Java and HTML (Topic 1a) 
<DT>
<DD>HW1. Due Friday 9/20/96
<P>
<DT>9/17
<DD> Formal Description of Language: Syntax (Topics 4)
<P>
<DT>9/19
<DD> Formal Description of Language: Lambda Calculus (Topics 4)
<P>
<DT>
<DT>9/ 24
<DD>Control Structures.  (Topics 5, 16,  6a, 7a)
<DD>HW2. Due Wednesday 10/2/96 
<P>
<P>
<DT>9/26 
<DD>Primitive Types.  (Topics 6, 2a) 
<P>
<DT>10/1 
<DD>Expression, Functions, and Methods. (Topics 7, 2a, 5a)
<P>
<DT>10/3 
<DD>Advanced Data Types (Topics 8, 3a, 4a)
<DT>
<DD>HW3. Due Friday, 10/11/96 
<P>
<DT>10/8
<DD>Modeling Objects.  (Topics 10, 2a)
<P>
<DT>10/10
<DD>Classes and Objects (Topics 9, 2a)
<P>
<DT>10/15 
<DD>Monday schedule, no class
<P>
<DT>10/17 
<DD>Modeling Objects. Dynamic Storage Management (Topics 10, 2a)
<P>
<DT>10/22
<DD>Dynamic Storage Management (Topics 10, 2a)
<P>
<DT>10/24 
<DD>Names and Binding; Scope of a Name. (Topics 10, 3a)
<P>
<DT>10/29 
<DD>Mid-Term Examination 
<DT>
<P>
<DT>10/31
<DD>Names and Binding; Scope of a Name. (Topics 10, 3a)
<P>
<DT>11/5 
<DD>Final Project Topic Discussions
<DT>
<DD>Term project abstract due Tuesday 11/19/96
<P>
<DT>11/7 
<DD>Runtime Environment: program life cycle 
<P>
<DT>11/12 
<DD>Review Midterm
<DD>Runtime Environment: Java VM and Runtime
<P>
<DT>11/14 
<DD>Concurrency and Multithreading  (Topics 13, 9a)
<P>
<DT>11/19 
<DD>Concurrency and Multithreading  (Topics 13, 9a)
<P>
<DT>11/21 
<DD>Produce Animation in Java
<DD>HW4. Due Thursday 12/5/96 
<P>
<DT>11/26 
<DD>I/O and GUI: Java AWT Package
<P>
<DT>11/28 
<DD>Thanksgiving Recess
<P>
<DT>12/2 
<DD>Term project progress report due on Monday, 12/2/96. 
<P>
<DT>12/3 
<DD><!WA0><A HREF="http://www.cs.bu.edu/faculty/mcchen/cs320-96/talk-sched.html#group-1">Term Project Presentation and
Demonstration  1</A>
<P>
<DT>12/5 
<DD><!WA1><A HREF="http://www.cs.bu.edu/faculty/mcchen/cs320-96/talk-sched.html#group-2">Term Project Presentation and
Demonstration 2</A>
<P>
<DT>12/ 10
<DD><!WA2><A HREF="http://www.cs.bu.edu/faculty/mcchen/cs320-96/talk-sched.html#group-3">Term Project Presentation and
Demonstration3;</A>
<DT>
<DD>Term project due Friday, 12/20/96. 
<P>
 </DL>
<P>
<H2><A NAME=SECTION0000200000000000000> Workload</A></H2>
<P>
There will be 4 homework assignments, 1 mid-term examination, and a
term project.  The requirements in the term project include (1) an
abstract, (2) a mid-project progress report consisting of a short
written report, and a project presentation with working demonstration
of initial results, and (3) a final report.  No extension on
assignments and term project.  Ten points will be deducted each day
after the due day.
<P>
The assignments will count for 40%, the mid-term exam 20%, and the term project
will make up the remaining 40% of the final grade. 
<P>
<HR>

</BODY>
<P><ADDRESS>
<!WA3><A HREF=http://cs-www.bu.edu/faculty/mcchen/main_menu.html>Marina Chen</A>
</ADDRESS>
